﻿using System;
namespace RapidRepository.View
{
    /// <summary>
    /// Interface for adding filters to a View.
    /// </summary>
    /// <typeparam name="TEntity">The type of the entity.</typeparam>
    /// <typeparam name="TView">The type of the view.</typeparam>
    public interface IRapidViewData<TEntity, TView>
        where TEntity : IRapidEntity
        where TView : IRapidView
    {
        /// <summary>
        /// Adds a filter expression.
        /// </summary>
        /// <param name="filterExpression">The filter expression.</param>
        /// <returns></returns>
        IRapidViewData<TEntity, TView> AddFilter(Func<TView, bool> filterExpression);
    }
}
